/* Copyright (c) 2004-2024 peigen.info. All rights reserved. */

package info.peigen.hotpot.manage.core.service.order;

import info.peigen.hotpot.common.core.annotation.Comment;
import info.peigen.hotpot.common.service.base.ServiceOrderBase;
import info.peigen.hotpot.manage.core.enums.RoleCategory;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.Size;
import lombok.*;
import lombok.experimental.Accessors;
import lombok.experimental.FieldDefaults;
import lombok.experimental.SuperBuilder;

/**
 * <b>(RoleCreateOrder)</b>
 * "角色" 创建服务请求
 *
 * @author Peigen
 * @version 1.0.0
 * @since 2024-06-28
 */
@EqualsAndHashCode(callSuper = true)
@SuperBuilder
@Data
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
@Accessors(chain = true)
public class RoleCreateOrder extends ServiceOrderBase {
    @Comment(value = "组织Id")
    @Size(max = 30, message = "[组织Id]超长")
    String organizationId;
    @Comment(value = "角色名")
    @NotEmpty(message = "[角色名]不得为空")
    @Size(max = 30, message = "[角色名]超长")
    String name;
    @Comment(value = "角色编码")
    @Size(max = 30, message = "[角色编码]超长")
    String code;
    @Comment(value = "分类")
    RoleCategory category;
    @Comment(value = "排序序号")
    Integer sort;
    @Comment(value = "扩展信息")
    @Size(max = 1000, message = "[扩展信息]超长")
    String ext;
}